#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

//int compare(const void* p1, const void* p2)
//{
//	return *(int*)p1 - *(int*)p2;
//}
//void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n)
//{
//	int nums[6] = { 0 };
//	memcpy(nums, nums1, sizeof(int)*m);
//	memcpy(nums+m, nums2, sizeof(int) * n);
//	qsort(nums, sizeof(nums) / sizeof(nums[0]), sizeof(int), compare);
//	memcpy(nums1, nums, sizeof(int) * (m + n));
//}

void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n) {
    int nums[200] = { 0 };
    int p1 = 0;
    int p2 = 0;
    int p = 0;
        while (p1 < nums1Size && p2 < nums2Size)
        {
            if (nums1[p1] <= nums2[p2])
            {
                nums[p] = nums1[p1];
                p++;
                p1++;
            }
            else
            {
                nums[p] = nums2[p2];
                p++;
                p2++;
            }
        }
    if (p2 == nums2Size)
    {
        int i = 0;
        for (i = nums2Size; i < nums1Size; i++)
        {
            nums[p] = nums1[i];
        }
    }

}


int main()
{
	int nums1[6] = { 1,2,3,0,0,0};
	int nums2[3] = { 2,4,5 };
	int nums1Size = sizeof(nums1) / sizeof(nums1[0]);
	int nums2Size = sizeof(nums2) / sizeof(nums2[0]);
	merge(nums1, nums1Size, 3, nums2, nums2Size, 3);
	int i = 0;
	for (i = 0; i < nums1Size; i++)
	{
		printf("%d ", nums1[i]);
	}
	return 0;
}